<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CryptoAuthLib: atca_iface.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CryptoAuthLib
   </div>
   <div id="projectbrief">Microchip CryptoAuthentication Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00125_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">atca_iface.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="a00125.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef ATCA_IFACE_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define ATCA_IFACE_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00101.html">atca_command.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089">   44</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb">   46</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb">ATCA_I2C_IFACE</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26">   47</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26">ATCA_SWI_IFACE</a>,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d">   48</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d">ATCA_UART_IFACE</a>,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7">   49</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7">ATCA_SPI_IFACE</a>,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1">   50</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1">ATCA_HID_IFACE</a>,</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d">   51</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d">ATCA_CUSTOM_IFACE</a>,</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="comment">// additional physical interface types here</span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec">   53</a></span>&#160;    <a class="code" href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec">ATCA_UNKNOWN_IFACE</a>,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;} <a class="code" href="a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089">ATCAIfaceType</a>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/* ATCAIfaceCfg is a mediator object between a completely abstract notion of a</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">   physical interface and an actual physical interface.</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">   The main purpose of it is to keep hardware specifics from bleeding into the</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">   higher levels - hardware specifics could include things like framework</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">   specific items (ASF SERCOM) vs a non-Microchip I2C library constant that</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">   defines an I2C port. But I2C has roughly the same parameters regardless of</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">   architecture and framework.</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a03555.html">   66</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="a03555.html#a3d0753b214d2a12df80f22b56bfc6e71">   69</a></span>&#160;    <a class="code" href="a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089">ATCAIfaceType</a>  <a class="code" href="a03555.html#a3d0753b214d2a12df80f22b56bfc6e71">iface_type</a>;      <span class="comment">// active iface - how to interpret the union below</span></div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a03555.html#a05f2d72f4feff51d21be443c82d02192">   70</a></span>&#160;    <a class="code" href="a03532.html#gafb234ccd6a80d09c0efbe336c2354267">ATCADeviceType</a> <a class="code" href="a03555.html#a05f2d72f4feff51d21be443c82d02192">devtype</a>;         <span class="comment">// explicit device type</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keyword">union                           </span><span class="comment">// each instance of an iface cfg defines a single type of interface</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    {</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">struct </span>ATCAI2C</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        {</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a03555.html#ac93868aeda435dfb685a0a0020e5c7a4">   76</a></span>&#160;            uint8_t  <a class="code" href="a03555.html#ac93868aeda435dfb685a0a0020e5c7a4">slave_address</a>; <span class="comment">// 8-bit slave address</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d">   77</a></span>&#160;            uint8_t  <a class="code" href="a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d">bus</a>;           <span class="comment">// logical i2c bus number, 0-based - HAL will map this to a pin pair for SDA SCL</span></div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1">   78</a></span>&#160;            uint32_t <a class="code" href="a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1">baud</a>;          <span class="comment">// typically 400000</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        } atcai2c;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">struct </span>ATCASWI</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        {</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            uint8_t bus;        <span class="comment">// logical SWI bus - HAL will map this to a pin or uart port</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        } atcaswi;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">struct </span>ATCAUART</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        {</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a03555.html#a63c89c04d1feae07ca35558055155ffb">   88</a></span>&#160;            <span class="keywordtype">int</span>      <a class="code" href="a03555.html#a63c89c04d1feae07ca35558055155ffb">port</a>;      <span class="comment">// logic port number</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            uint32_t baud;      <span class="comment">// typically 115200</span></div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a03555.html#ae696a833509f858d17988acdb1deb161">   90</a></span>&#160;            uint8_t  <a class="code" href="a03555.html#ae696a833509f858d17988acdb1deb161">wordsize</a>;  <span class="comment">// usually 8</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="a03555.html#aa0e72b59c63431c62f5b5eba36a65d17">   91</a></span>&#160;            uint8_t  <a class="code" href="a03555.html#aa0e72b59c63431c62f5b5eba36a65d17">parity</a>;    <span class="comment">// 0 == even, 1 == odd, 2 == none</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="a03555.html#a9de35842403baab5738ea16162012d4f">   92</a></span>&#160;            uint8_t  <a class="code" href="a03555.html#a9de35842403baab5738ea16162012d4f">stopbits</a>;  <span class="comment">// 0,1,2</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        } atcauart;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">struct </span>ATCAHID</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        {</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a03555.html#ae40354a1051342eb5a9db005715dcfa9">   97</a></span>&#160;            <span class="keywordtype">int</span>      <a class="code" href="a03555.html#ae40354a1051342eb5a9db005715dcfa9">idx</a>;           <span class="comment">// HID enumeration index</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a03555.html#a98780fe4ab562a61abfd7870ea0910c3">   98</a></span>&#160;            uint32_t <a class="code" href="a03555.html#a98780fe4ab562a61abfd7870ea0910c3">vid</a>;           <span class="comment">// Vendor ID of kit (0x03EB for CK101)</span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="a03555.html#aec32162d9dc3fde2c76d766af522dae5">   99</a></span>&#160;            uint32_t <a class="code" href="a03555.html#aec32162d9dc3fde2c76d766af522dae5">pid</a>;           <span class="comment">// Product ID of kit (0x2312 for CK101)</span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a03555.html#aba242bb3690d4d5a7de01474f94cb4ab">  100</a></span>&#160;            uint32_t <a class="code" href="a03555.html#aba242bb3690d4d5a7de01474f94cb4ab">packetsize</a>;    <span class="comment">// Size of the USB packet</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="a03555.html#af6dd59cf5b43526a4c6ccd515042af73">  101</a></span>&#160;            uint8_t  guid[16];      <span class="comment">// The GUID for this HID device</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        } <a class="code" href="a03651.html">atcahid</a>;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">struct </span>ATCACUSTOM</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        {</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a03555.html#a3baf2be3a5e7c59688ede3ffa734f1e1">  106</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halinit)(<span class="keywordtype">void</span> *hal, <span class="keywordtype">void</span> *cfg);</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a03555.html#a82498c9417816ef35f75ea8249a3f10a">  107</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halpostinit)(<span class="keywordtype">void</span> *iface);</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="a03555.html#a3aa29f6db8565f010adbe6b11e203d53">  108</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halsend)(<span class="keywordtype">void</span> *iface, uint8_t *txdata, <span class="keywordtype">int</span> txlength);</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="a03555.html#a18decbd259932bfe1f787dd3d94ee29f">  109</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halreceive)(<span class="keywordtype">void</span> *iface, uint8_t* rxdata, uint16_t* rxlength);</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="a03555.html#a357fd8307ec04fe3026830316fc3b043">  110</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halwake)(<span class="keywordtype">void</span> *iface);</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="a03555.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5">  111</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halidle)(<span class="keywordtype">void</span> *iface);</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="a03555.html#a7add390e5c5e2d9c8f6dadc842a3726e">  112</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halsleep)(<span class="keywordtype">void</span> *iface);</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="a03555.html#a5eb439f0ede23956fde8cd72f41b85ba">  113</a></span>&#160;            <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*halrelease)(<span class="keywordtype">void</span>* hal_data);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        } atcacustom;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    };</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="a03555.html#a058e797431a238154c5347fa26982044">  118</a></span>&#160;    uint16_t <a class="code" href="a03555.html#a058e797431a238154c5347fa26982044">wake_delay</a>;    <span class="comment">// microseconds of tWHI + tWLO which varies based on chip type</span></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="a03555.html#aa9ce255f8b9bff64fe261235f9e70c03">  119</a></span>&#160;    <span class="keywordtype">int</span>      <a class="code" href="a03555.html#aa9ce255f8b9bff64fe261235f9e70c03">rx_retries</a>;    <span class="comment">// the number of retries to attempt for receiving bytes</span></div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a03555.html#a97e106cc7267316cf40988744b231111">  120</a></span>&#160;    <span class="keywordtype">void</span> *   <a class="code" href="a03555.html#a97e106cc7267316cf40988744b231111">cfg_data</a>;      <span class="comment">// opaque data used by HAL in device discovery</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;} <a class="code" href="a03555.html">ATCAIfaceCfg</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="a03533.html#ga75c11126f3fe81df3d6c27f5bb393303">  122</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a03583.html">atca_iface</a> * <a class="code" href="a03533.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a>;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="a03583.html">  129</a></span>&#160;<span class="keyword">struct </span><a class="code" href="a03583.html">atca_iface</a></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;{</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a">  131</a></span>&#160;    <a class="code" href="a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089">ATCAIfaceType</a> <a class="code" href="a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a">mType</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="a03583.html#abdd7b8bd26139998d9da63a4fa562735">  132</a></span>&#160;    <a class="code" href="a03555.html">ATCAIfaceCfg</a> *<a class="code" href="a03583.html#abdd7b8bd26139998d9da63a4fa562735">mIfaceCFG</a>;    <span class="comment">// points to previous defined/given Cfg object, caller manages this</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="a03583.html#a43753a99c2b46caab2ae85d0504f1f84">  134</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#a43753a99c2b46caab2ae85d0504f1f84">atinit</a>)(<span class="keywordtype">void</span> *hal, <a class="code" href="a03555.html">ATCAIfaceCfg</a> *);</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="a03583.html#a0dd463e6dbb6121768480ab7b42ba604">  135</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#a0dd463e6dbb6121768480ab7b42ba604">atpostinit</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal);</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="a03583.html#a343ec53c611863bf30624e5775782ab5">  136</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#a343ec53c611863bf30624e5775782ab5">atsend</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal, uint8_t *txdata, <span class="keywordtype">int</span> txlength);</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="a03583.html#a7ebe5db4da26f30972448931b7500546">  137</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#a7ebe5db4da26f30972448931b7500546">atreceive</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal, uint8_t *rxdata, uint16_t *rxlength);</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="a03583.html#a6cb270146e07d7c258bca835fda84be5">  138</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#a6cb270146e07d7c258bca835fda84be5">atwake</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal);</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="a03583.html#af98425da891944b45d56cebd93b131f6">  139</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#af98425da891944b45d56cebd93b131f6">atidle</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal);</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="a03583.html#ae643f9f7998343cc33822de00192626b">  140</a></span>&#160;    <a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> (*<a class="code" href="a03583.html#ae643f9f7998343cc33822de00192626b">atsleep</a>)(<a class="code" href="a03583.html">ATCAIface</a> hal);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="comment">// treat as private</span></div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="a03583.html#ad33508455720b78cc0fc880cb3f9885e">  143</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="a03583.html#ad33508455720b78cc0fc880cb3f9885e">hal_data</a>;     <span class="comment">// generic pointer used by HAL to point to architecture specific structure</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                        <span class="comment">// no ATCA object should touch this except HAL, HAL manages this pointer and memory it points to</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;};</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga3a31087729a7a2e9a624572f234809fc">initATCAIface</a>(<a class="code" href="a03555.html">ATCAIfaceCfg</a> *cfg, <a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<a class="code" href="a03583.html">ATCAIface</a> <a class="code" href="a03533.html#ga6f28f18f0d00c5301939724325f6b6fc">newATCAIface</a>(<a class="code" href="a03555.html">ATCAIfaceCfg</a> *cfg);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3">releaseATCAIface</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordtype">void</span> <a class="code" href="a03533.html#gaf8074d759241d3edd6d8ead1d7322a98">deleteATCAIface</a>(<a class="code" href="a03583.html">ATCAIface</a> *ca_iface);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">// IFace methods</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga386353e8700eec35e4548dfa29f13b8d">atinit</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5">atpostinit</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga29c6f441d31c84629954d50cc95d3c5d">atsend</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface, uint8_t *txdata, <span class="keywordtype">int</span> txlength);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb">atreceive</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface, uint8_t *rxdata, uint16_t *rxlength);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#ga32693c852341e1b946bab3cca5f71761">atwake</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#gac794fffe040e6d47a34c756720f3cbea">atidle</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<a class="code" href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a> <a class="code" href="a03533.html#gac06336335e5f3191e3b1fc06d2830d96">atsleep</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">// accessors</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<a class="code" href="a03555.html">ATCAIfaceCfg</a> * <a class="code" href="a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e">atgetifacecfg</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keywordtype">void</span>* <a class="code" href="a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0">atgetifacehaldat</a>(<a class="code" href="a03583.html">ATCAIface</a> ca_iface);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;}</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="ttc" id="a03583_html_a43753a99c2b46caab2ae85d0504f1f84"><div class="ttname"><a href="a03583.html#a43753a99c2b46caab2ae85d0504f1f84">atca_iface::atinit</a></div><div class="ttdeci">ATCA_STATUS(* atinit)(void *hal, ATCAIfaceCfg *)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:134</div></div>
<div class="ttc" id="a03555_html_ae696a833509f858d17988acdb1deb161"><div class="ttname"><a href="a03555.html#ae696a833509f858d17988acdb1deb161">ATCAIfaceCfg::wordsize</a></div><div class="ttdeci">uint8_t wordsize</div><div class="ttdef"><b>Definition:</b> atca_iface.h:90</div></div>
<div class="ttc" id="a03555_html_aa9ce255f8b9bff64fe261235f9e70c03"><div class="ttname"><a href="a03555.html#aa9ce255f8b9bff64fe261235f9e70c03">ATCAIfaceCfg::rx_retries</a></div><div class="ttdeci">int rx_retries</div><div class="ttdef"><b>Definition:</b> atca_iface.h:119</div></div>
<div class="ttc" id="a03555_html_ae40354a1051342eb5a9db005715dcfa9"><div class="ttname"><a href="a03555.html#ae40354a1051342eb5a9db005715dcfa9">ATCAIfaceCfg::idx</a></div><div class="ttdeci">int idx</div><div class="ttdef"><b>Definition:</b> atca_iface.h:97</div></div>
<div class="ttc" id="a00101_html"><div class="ttname"><a href="a00101.html">atca_command.h</a></div><div class="ttdoc">Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...</div></div>
<div class="ttc" id="a03583_html_a343ec53c611863bf30624e5775782ab5"><div class="ttname"><a href="a03583.html#a343ec53c611863bf30624e5775782ab5">atca_iface::atsend</a></div><div class="ttdeci">ATCA_STATUS(* atsend)(ATCAIface hal, uint8_t *txdata, int txlength)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:136</div></div>
<div class="ttc" id="a03583_html_a6cb270146e07d7c258bca835fda84be5"><div class="ttname"><a href="a03583.html#a6cb270146e07d7c258bca835fda84be5">atca_iface::atwake</a></div><div class="ttdeci">ATCA_STATUS(* atwake)(ATCAIface hal)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:138</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7">ATCA_SPI_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:49</div></div>
<div class="ttc" id="a00128_html_a22bd6643f31f1d75dc3e7ea939f468cd"><div class="ttname"><a href="a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a></div><div class="ttdeci">ATCA_STATUS</div><div class="ttdef"><b>Definition:</b> atca_status.h:41</div></div>
<div class="ttc" id="a03533_html_gab9ee16357a8e397a72eda7e9c8553fb3"><div class="ttname"><a href="a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3">releaseATCAIface</a></div><div class="ttdeci">ATCA_STATUS releaseATCAIface(ATCAIface ca_iface)</div><div class="ttdoc">Instruct the HAL driver to release any resources associated with this interface. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:228</div></div>
<div class="ttc" id="a03555_html_a3d0753b214d2a12df80f22b56bfc6e71"><div class="ttname"><a href="a03555.html#a3d0753b214d2a12df80f22b56bfc6e71">ATCAIfaceCfg::iface_type</a></div><div class="ttdeci">ATCAIfaceType iface_type</div><div class="ttdef"><b>Definition:</b> atca_iface.h:69</div></div>
<div class="ttc" id="a03583_html_a0dd463e6dbb6121768480ab7b42ba604"><div class="ttname"><a href="a03583.html#a0dd463e6dbb6121768480ab7b42ba604">atca_iface::atpostinit</a></div><div class="ttdeci">ATCA_STATUS(* atpostinit)(ATCAIface hal)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:135</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26">ATCA_SWI_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:47</div></div>
<div class="ttc" id="a03555_html_ac93868aeda435dfb685a0a0020e5c7a4"><div class="ttname"><a href="a03555.html#ac93868aeda435dfb685a0a0020e5c7a4">ATCAIfaceCfg::slave_address</a></div><div class="ttdeci">uint8_t slave_address</div><div class="ttdef"><b>Definition:</b> atca_iface.h:76</div></div>
<div class="ttc" id="a03533_html_ga29c6f441d31c84629954d50cc95d3c5d"><div class="ttname"><a href="a03533.html#ga29c6f441d31c84629954d50cc95d3c5d">atsend</a></div><div class="ttdeci">ATCA_STATUS atsend(ATCAIface ca_iface, uint8_t *txdata, int txlength)</div><div class="ttdoc">Sends the data to the device by calling intermediate HAL wrapper function. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:132</div></div>
<div class="ttc" id="a03533_html_ga3a31087729a7a2e9a624572f234809fc"><div class="ttname"><a href="a03533.html#ga3a31087729a7a2e9a624572f234809fc">initATCAIface</a></div><div class="ttdeci">ATCA_STATUS initATCAIface(ATCAIfaceCfg *cfg, ATCAIface ca_iface)</div><div class="ttdoc">Initializer for ATCAIface objects. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:56</div></div>
<div class="ttc" id="a03555_html_a058e797431a238154c5347fa26982044"><div class="ttname"><a href="a03555.html#a058e797431a238154c5347fa26982044">ATCAIfaceCfg::wake_delay</a></div><div class="ttdeci">uint16_t wake_delay</div><div class="ttdef"><b>Definition:</b> atca_iface.h:118</div></div>
<div class="ttc" id="a03555_html_a98780fe4ab562a61abfd7870ea0910c3"><div class="ttname"><a href="a03555.html#a98780fe4ab562a61abfd7870ea0910c3">ATCAIfaceCfg::vid</a></div><div class="ttdeci">uint32_t vid</div><div class="ttdef"><b>Definition:</b> atca_iface.h:98</div></div>
<div class="ttc" id="a03533_html_ga32693c852341e1b946bab3cca5f71761"><div class="ttname"><a href="a03533.html#ga32693c852341e1b946bab3cca5f71761">atwake</a></div><div class="ttdeci">ATCA_STATUS atwake(ATCAIface ca_iface)</div><div class="ttdoc">Wakes up the device by calling intermediate HAL wrapper function. If using the basic API...</div><div class="ttdef"><b>Definition:</b> atca_iface.c:156</div></div>
<div class="ttc" id="a03583_html_ab4f4855cbadf7c7d2d3fb019eded7c8a"><div class="ttname"><a href="a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a">atca_iface::mType</a></div><div class="ttdeci">ATCAIfaceType mType</div><div class="ttdef"><b>Definition:</b> atca_iface.h:131</div></div>
<div class="ttc" id="a03583_html_ad33508455720b78cc0fc880cb3f9885e"><div class="ttname"><a href="a03583.html#ad33508455720b78cc0fc880cb3f9885e">atca_iface::hal_data</a></div><div class="ttdeci">void * hal_data</div><div class="ttdef"><b>Definition:</b> atca_iface.h:143</div></div>
<div class="ttc" id="a03555_html"><div class="ttname"><a href="a03555.html">ATCAIfaceCfg</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:66</div></div>
<div class="ttc" id="a03532_html_gafb234ccd6a80d09c0efbe336c2354267"><div class="ttname"><a href="a03532.html#gafb234ccd6a80d09c0efbe336c2354267">ATCADeviceType</a></div><div class="ttdeci">ATCADeviceType</div><div class="ttdoc">The supported Device type in Cryptoauthlib library. </div><div class="ttdef"><b>Definition:</b> atca_devtypes.h:41</div></div>
<div class="ttc" id="a03533_html_gac794fffe040e6d47a34c756720f3cbea"><div class="ttname"><a href="a03533.html#gac794fffe040e6d47a34c756720f3cbea">atidle</a></div><div class="ttdeci">ATCA_STATUS atidle(ATCAIface ca_iface)</div><div class="ttdoc">Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API...</div><div class="ttdef"><b>Definition:</b> atca_iface.c:179</div></div>
<div class="ttc" id="a03533_html_gac88ba81abfd42df65c6c0c64414dfc6e"><div class="ttname"><a href="a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e">atgetifacecfg</a></div><div class="ttdeci">ATCAIfaceCfg * atgetifacecfg(ATCAIface ca_iface)</div><div class="ttdoc">Returns the logical interface configuration for the device. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:208</div></div>
<div class="ttc" id="a03533_html_ga1feec3d6e0c3c8b23d87ce0bbefcacdb"><div class="ttname"><a href="a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb">atreceive</a></div><div class="ttdeci">ATCA_STATUS atreceive(ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)</div><div class="ttdoc">Receives data from the device by calling intermediate HAL wrapper function. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:145</div></div>
<div class="ttc" id="a03555_html_aec32162d9dc3fde2c76d766af522dae5"><div class="ttname"><a href="a03555.html#aec32162d9dc3fde2c76d766af522dae5">ATCAIfaceCfg::pid</a></div><div class="ttdeci">uint32_t pid</div><div class="ttdef"><b>Definition:</b> atca_iface.h:99</div></div>
<div class="ttc" id="a03583_html_ae643f9f7998343cc33822de00192626b"><div class="ttname"><a href="a03583.html#ae643f9f7998343cc33822de00192626b">atca_iface::atsleep</a></div><div class="ttdeci">ATCA_STATUS(* atsleep)(ATCAIface hal)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:140</div></div>
<div class="ttc" id="a03555_html_aba242bb3690d4d5a7de01474f94cb4ab"><div class="ttname"><a href="a03555.html#aba242bb3690d4d5a7de01474f94cb4ab">ATCAIfaceCfg::packetsize</a></div><div class="ttdeci">uint32_t packetsize</div><div class="ttdef"><b>Definition:</b> atca_iface.h:100</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1">ATCA_HID_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:50</div></div>
<div class="ttc" id="a03555_html_a9de35842403baab5738ea16162012d4f"><div class="ttname"><a href="a03555.html#a9de35842403baab5738ea16162012d4f">ATCAIfaceCfg::stopbits</a></div><div class="ttdeci">uint8_t stopbits</div><div class="ttdef"><b>Definition:</b> atca_iface.h:92</div></div>
<div class="ttc" id="a03583_html"><div class="ttname"><a href="a03583.html">atca_iface</a></div><div class="ttdoc">atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...</div><div class="ttdef"><b>Definition:</b> atca_iface.h:129</div></div>
<div class="ttc" id="a03533_html_ga75c11126f3fe81df3d6c27f5bb393303"><div class="ttname"><a href="a03533.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a></div><div class="ttdeci">struct atca_iface * ATCAIface</div><div class="ttdef"><b>Definition:</b> atca_iface.h:122</div></div>
<div class="ttc" id="a03583_html_af98425da891944b45d56cebd93b131f6"><div class="ttname"><a href="a03583.html#af98425da891944b45d56cebd93b131f6">atca_iface::atidle</a></div><div class="ttdeci">ATCA_STATUS(* atidle)(ATCAIface hal)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:139</div></div>
<div class="ttc" id="a03555_html_a05f2d72f4feff51d21be443c82d02192"><div class="ttname"><a href="a03555.html#a05f2d72f4feff51d21be443c82d02192">ATCAIfaceCfg::devtype</a></div><div class="ttdeci">ATCADeviceType devtype</div><div class="ttdef"><b>Definition:</b> atca_iface.h:70</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d">ATCA_UART_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:48</div></div>
<div class="ttc" id="a03583_html_a7ebe5db4da26f30972448931b7500546"><div class="ttname"><a href="a03583.html#a7ebe5db4da26f30972448931b7500546">atca_iface::atreceive</a></div><div class="ttdeci">ATCA_STATUS(* atreceive)(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength)</div><div class="ttdef"><b>Definition:</b> atca_iface.h:137</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d">ATCA_CUSTOM_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:51</div></div>
<div class="ttc" id="a03533_html_ga5e4163b8882d4eb42d4d5191c8731da0"><div class="ttname"><a href="a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0">atgetifacehaldat</a></div><div class="ttdeci">void * atgetifacehaldat(ATCAIface ca_iface)</div><div class="ttdoc">Returns the HAL data pointer for the device. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:218</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb">ATCA_I2C_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:46</div></div>
<div class="ttc" id="a03555_html_a63c89c04d1feae07ca35558055155ffb"><div class="ttname"><a href="a03555.html#a63c89c04d1feae07ca35558055155ffb">ATCAIfaceCfg::port</a></div><div class="ttdeci">int port</div><div class="ttdef"><b>Definition:</b> atca_iface.h:88</div></div>
<div class="ttc" id="a03533_html_gac06336335e5f3191e3b1fc06d2830d96"><div class="ttname"><a href="a03533.html#gac06336335e5f3191e3b1fc06d2830d96">atsleep</a></div><div class="ttdeci">ATCA_STATUS atsleep(ATCAIface ca_iface)</div><div class="ttdoc">Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API...</div><div class="ttdef"><b>Definition:</b> atca_iface.c:194</div></div>
<div class="ttc" id="a03533_html_gaf8074d759241d3edd6d8ead1d7322a98"><div class="ttname"><a href="a03533.html#gaf8074d759241d3edd6d8ead1d7322a98">deleteATCAIface</a></div><div class="ttdeci">void deleteATCAIface(ATCAIface *ca_iface)</div><div class="ttdoc">Instruct the HAL driver to release any resources associated with this interface, then delete the obje...</div><div class="ttdef"><b>Definition:</b> atca_iface.c:243</div></div>
<div class="ttc" id="a03583_html_abdd7b8bd26139998d9da63a4fa562735"><div class="ttname"><a href="a03583.html#abdd7b8bd26139998d9da63a4fa562735">atca_iface::mIfaceCFG</a></div><div class="ttdeci">ATCAIfaceCfg * mIfaceCFG</div><div class="ttdef"><b>Definition:</b> atca_iface.h:132</div></div>
<div class="ttc" id="a03533_html_ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec"><div class="ttname"><a href="a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec">ATCA_UNKNOWN_IFACE</a></div><div class="ttdef"><b>Definition:</b> atca_iface.h:53</div></div>
<div class="ttc" id="a03533_html_gac7f674d4a0afb12d2f3c9c5e98cb1089"><div class="ttname"><a href="a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089">ATCAIfaceType</a></div><div class="ttdeci">ATCAIfaceType</div><div class="ttdef"><b>Definition:</b> atca_iface.h:44</div></div>
<div class="ttc" id="a03533_html_ga6f28f18f0d00c5301939724325f6b6fc"><div class="ttname"><a href="a03533.html#ga6f28f18f0d00c5301939724325f6b6fc">newATCAIface</a></div><div class="ttdeci">ATCAIface newATCAIface(ATCAIfaceCfg *cfg)</div><div class="ttdoc">Constructor for ATCAIface objects. </div><div class="ttdef"><b>Definition:</b> atca_iface.c:82</div></div>
<div class="ttc" id="a03533_html_ga386353e8700eec35e4548dfa29f13b8d"><div class="ttname"><a href="a03533.html#ga386353e8700eec35e4548dfa29f13b8d">atinit</a></div><div class="ttdeci">ATCA_STATUS atinit(ATCAIface ca_iface)</div><div class="ttdoc">Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API...</div><div class="ttdef"><b>Definition:</b> atca_iface.c:106</div></div>
<div class="ttc" id="a03555_html_a5262d4a80e6a0b6dce6fd57d4656786d"><div class="ttname"><a href="a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d">ATCAIfaceCfg::bus</a></div><div class="ttdeci">uint8_t bus</div><div class="ttdef"><b>Definition:</b> atca_iface.h:77</div></div>
<div class="ttc" id="a03555_html_a97e106cc7267316cf40988744b231111"><div class="ttname"><a href="a03555.html#a97e106cc7267316cf40988744b231111">ATCAIfaceCfg::cfg_data</a></div><div class="ttdeci">void * cfg_data</div><div class="ttdef"><b>Definition:</b> atca_iface.h:120</div></div>
<div class="ttc" id="a03555_html_aa0e72b59c63431c62f5b5eba36a65d17"><div class="ttname"><a href="a03555.html#aa0e72b59c63431c62f5b5eba36a65d17">ATCAIfaceCfg::parity</a></div><div class="ttdeci">uint8_t parity</div><div class="ttdef"><b>Definition:</b> atca_iface.h:91</div></div>
<div class="ttc" id="a03555_html_ac6e5ec63505c02923d71f7409cdbf1d1"><div class="ttname"><a href="a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1">ATCAIfaceCfg::baud</a></div><div class="ttdeci">uint32_t baud</div><div class="ttdef"><b>Definition:</b> atca_iface.h:78</div></div>
<div class="ttc" id="a03533_html_ga6a9d6c47d866cba4ddd4ee6e671743d5"><div class="ttname"><a href="a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5">atpostinit</a></div><div class="ttdeci">ATCA_STATUS atpostinit(ATCAIface ca_iface)</div></div>
<div class="ttc" id="a03651_html"><div class="ttname"><a href="a03651.html">atcahid</a></div><div class="ttdef"><b>Definition:</b> hal_all_platforms_kit_hidapi.h:48</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="a00125.html">atca_iface.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
